package org.xq.softcup.mq.admin.service;

import org.springframework.web.context.request.async.DeferredResult;
import org.xq.softcup.mq.admin.model.RegData;
import org.xq.softcup.mq.admin.util.JsonResult;

import java.util.List;
import java.util.Map;

/**
 * 通用注册服务服务层
 * @author admin
 */
public interface IMqRegService {

    /**
     * 注册服务, 检查更新和通知
     */
    JsonResult<String> registry(String accessToken, List<RegData> regDataList);

    /**
     * 删除注册服务, 检查更新和通知
     */
    JsonResult<String> remove(String accessToken, List<RegData> regDataList);

    /**
     * 发现注册服务
     */
    JsonResult<Map<String, List<String>>> discovery(String accessToken, List<String> keys);

    /**
     * 更新监控
     */
    DeferredResult<JsonResult<String>> monitor(String accessToken, List<String> keys);

}
